repo: Use per-transaction staging dir
authorAlexander Larsson <alexl@redhat.com>
Fri, 11 Dec 2015 14:48:29 +0000 (15:48 +0100)
committerAlexander Larsson <alexl@redhat.com>
Mon, 14 Dec 2015 07:38:51 +0000 (08:38 +0100)
commitf771461b4a048d2fb9acde9d38f833438bc51a29
tree5a92ff32244c70e616a76060991ce929028eaff3
parentbe19c888619f5113cc4b12c01df2e51ccf4375fd
repo: Use per-transaction staging dir

Concurrent pulls break since we're sharing the staging directory for
all transactions in the repo. This makes us use a per-transaction directory.

However, in order for resumes to work we first look for existing
staging directories and try to aquire an exclusive lock for them. If
we can't find any staging directory or they are all already locked,
then we create a new one.

https://bugzilla.gnome.org/show_bug.cgi?id=757611
src/libostree/ostree-repo-commit.c
src/libostree/ostree-repo-private.h
src/libostree/ostree-repo.c